limit+order by ��ɵ������ظ�

������������

��ʹ�� SQL ��ѯ���з�ҳʱ��LIMIT �� ORDER BY ���������õ��Ӿ䡣ORDER BY ����ָ��������У��� LIMIT �������Ʒ��صļ�¼����Ȼ������ ORDER BY ���У��� create_time���д����ظ�ֵʱ���Ϳ��ܳ��ַ�ҳ���⡣

ԭ�����

  1. ����Ψһ���� create_time ���ظ�ֵʱ�����ݿ��ڷ��ؽ��ʱ������Щ������ͬ create_time �ļ�¼û�й̶�������˳������ζ�ţ���ʹ����ִ����ͬ�IJ�ѯ��������ͬ create_time �ļ�¼��˳��Ҳ���ܲ�ͬ��

  2. ��ҳ�߽��������������ڷ�ҳʱ��ÿҳ��ʾ�̶������ļ�¼�������ҳ֮��ı߽紦�ж�����¼������ͬ�� create_time ֵ����Щ��¼���ܻ��ڲ�ͬ��ҳ�г��֣����������β�ѯ�е�˳��ͬ�������ظ����ֻ���©��

ʾ������

�������������ݣ�

1
2
3
4
5
id | create_time
1 | 2023-01-01
2 | 2023-01-01
3 | 2023-01-02
4 | 2023-01-02

���ÿҳ��ʾ2����¼�����ܳ������������

  • ��һ�β�ѯ���ܷ��� ID 1 �� 2��
  • �ڶ��β�ѯ���ܷ��� ID 2 �� 3��ID 2 �ظ����֣���
  • ���ߵ�һ�η��� ID 1 �� 3���ڶ��η��� ID 2 �� 4��������©����

�������

Ϊ�˱����������⣬���Բ�ȡ���¼��ֽ��������

  1. ʹ��Ψһ����Ϊ��Ҫ����������
    �� ORDER BY �Ӿ�������һ��Ψһ������ id����Ϊ��Ҫ������������������ȷ����������ȷ���Եģ���ʹ create_time ���ظ�ֵ��

    1
    2
    SELECT * FROM table ORDER BY create_time, id LIMIT 2 OFFSET 0; -- ��һҳ
    SELECT * FROM table ORDER BY create_time, id LIMIT 2 OFFSET 2; -- �ڶ�ҳ
  2. ʹ���α��ҳ��
    ������һҳ���һ����¼��ֵ��ȷ����һҳ�Ŀ�ʼλ�á����ַ������Ա�����Ϊ����Ψһ�����µ����⡣

    1
    2
    3
    4
    5
    6
    7
    8
    9
    -- ��һҳ
    SELECT * FROM table ORDER BY create_time, id LIMIT 10;

    -- ����ҳ��������һҳ���һ����¼�� create_time �� id �ֱ�Ϊ last_seen_time �� last_seen_id��
    SELECT * FROM table
    WHERE (create_time > 'last_seen_time')
    OR (create_time = 'last_seen_time' AND id > last_seen_id)
    ORDER BY create_time, id
    LIMIT 10;
  3. ʹ�ô��ں�����ijЩ���ݿ�֧�֣���
    ʹ�ô��ں����� ROW_NUMBER() ��Ϊÿ�з���һ��Ψһ���кţ�Ȼ������кŽ��з�ҳ��

    1
    2
    3
    4
    SELECT * FROM (
    SELECT *, ROW_NUMBER() OVER (ORDER BY create_time, id) as row_num
    FROM table
    ) t WHERE row_num BETWEEN 11 AND 20; -- ����Ҫ��ѯ��2ҳ��ÿҳ10����¼

����

�� ORDER BY �������ظ�ֵʱ������ʹ�� LIMIT ��ҳȷʵ���ܵ��������ظ�����©��Ϊ��ȷ����ҳ�����һ���ԣ����ʵ��������һ��Ψһ����Ϊ��Ҫ��������������ʹ���α��ҳ�����ں����ȸ����ӵķ�ҳ��������Щ��������ȷ����ʹ�� ORDER BY �������ظ�ֵ������£���ҳ���Ҳ��ȷ����һ�µġ�

 wechat
天生我才必有用